System Identification

ID Label Type #Val Min Max Attr Description

100

Controller manufacturer

String

 

 

 

RO

Read-only field specifying the name of the company that manufactured the controller, for example, "Brooks Automation".

101

Controller model

String

 

 

 

RO

The controller model, for example "G3400". The model number is generally of the form "mma00" where mm identifies the overall model and a indicates the number of axes available on this controller.

102

Full hardware version

String

 

 

 

RO

Read-only string showing the version of the controller hardware in the format: "CPU ctype-btype.bver-osc, FPGA ftype.fver date, JMP jumper, PWR pstype, phy" where:
   ctype is the controller type, identical to DataID 113:
      10 = Next generation controller

btype is the CPU board type

101 = HVCPU

102 = GSBP 10 amp

103 = GSBP 20 amp

104 = PFD0

105 = LVCPU

106 = GSB4

bver is the CPU board version, from 0 to n.

osc is the CPU base oscillator speed in MHz.

ftype is the FPGA type code,

fver is the FPGA version code,

date is the FPGA build date,

jumper is the board jumpers, in hex format,

pstype is the type of motor power supply connected to the system:

0 = Unknown

1 = 2000W single phase

2 = 3500W three phase

phy is the board PHY type: MII or RMII

 

For the RIO board, the string contains:
   "CPU ctype.cver, Switch: dip"
where:
   ctype is the controller type, identical to DataID 113,
      4 = RIO simulator
      5 = RIO
   cver is the CPU board version code,
      0 = Simulator
      3 = Rev B
      4 = Rev C
      5 = Rev 5
      6 = Rev 6
   dip is the DIP switch value, in hex format.

103

Full software version

String

 

 

 

RO

Read-only string field that contains the full software system version specification, for example, "GPL 1.2C5, May 16 2006, Preliminary Version".

104

Software version

Uint8

 

 

 

RO

Read-only field that specifies the major version code for the system software. This is the integer portion of the software system version ID (e.g. the 1 in "1.0A). This number is increased when a new version of the system software is released that contains significant functional enhancements or support for new major hardware capabilities. New versions of system software can typically execute code written for older versions of the system. However, code written for new versions of system software may not operate properly on older versions of software if the new features of the newer system are referenced.

105

Software revision

Uint8

 

 

 

RO

Read-only field that specifies a minor revision of a version of the software system. This is the factional digits of the software system version ID (e.g. the 0 in "1.0A"). This number is increased when a new version of the system software is released that contains minor enhancements and support for new hardware that is a variation of hardware already supported (e.g. a new robot within a robot family). Typically, a revision of the system software is fully software compatible with all of revisions of the same version of software.

106

Software edit

Unit16

 

 

 

RO

Read-only field that indicates the edit level of the GPL software. Corresponds to the "A1" in version "4.1A1". The 100's digit indicates the edit letter, where 100 corresponds to "A". The low two digits indicate the edit number. Edit A1 is shown as "101" and edit C2 is shown as "302".

107

Software date

String

 

 

 

RO

Read-only field that specifies the date when the software system was build.

108

Software qualifier

String

 

 

 

RO

Read-only field that indicates the type of software that is being issued, e.g. "Released" or "Preliminary".

109

Controller name

String

 

 0

60

 

Controller name that is displayed when the system starts up or when you connect via the standard embedded web pages. This can be arbitrary set to help identify the controller.

110

Controller serial number

String

 

 0

60

RO

Serial number of the controller. This is set when the controller is configured at the factory.

111

Number of robots

Int32

 

0

MAX_
ROBOT

RO

Number of robots currently being operated by this Controller.

112

Software license option bits

Uint32

8

 

 

RO

256 bit flags organized in an array of 8 32-bit unsigned numbers indicating software options that are enabled. These bits are read from the NVRAM at startup and are set via software license keys. Some of the bits in the high half of this array are used internally by GPL and should be ignored. The currently defined bits are as follows:

Array Element (1):

   &H0001: (1) Guidance Programming Language enabled
   &H0002: (2) Motion control enabled
   &H0004: (3) Conveyor belt tracking enabled
   &H0008: (4) Advanced kinematic robot modules supported
   &H0010: (5) Complex kinematic robot modules supported
   &H0020: (6) Advanced controls enabled
   &H0040: (7) Enhanced encoder enabled
   &H0080: (8) Encoder latching enabled
   &H0100: (9) RIO motion control enabled
   &H0200: (10) Precise software application enabled
   &H0400: (11) G&M code support enabled
   &H0800: (12) Motion no kinematics enabled
   &H1000: (13) External trajectory supported
   &H2000: (14) XY compliance supported
   &H4000: (15) Z height detection supported
   &H8000: (16) GuidanceMotion application enabled
   &H10000:(17) EtherCAT Master supported

Array Element (2):

   &H0001: (1) Schunk branded controller

113

Controller type

Uint16

 

 

 

RO

Indicates the type of controller hardware that the system is currently running on. The defined values are as follows:

    1: Development system
    2: Bayside iDrive2 controller
    3: Guidance 3400, 4 axis system
    5: RIO

114

Controller ID

String

 

0

19

RO

This is a 64-bit number that uniquely identifies the processor board in the system. All software license keys are tied to this number. When requesting a software license, the value of this parameter must be given as 16 hexadecimal numbers in the form: xxxx-xxxx-xxxx-xxxx.

115

Software license key

String

 

0

21

BT

This parameter is used for installing software license keys. After you obtain a key from Precise for a specific controller, the software key should be written to this parameter. After validating that the key is correct, this parameter sets the appropriate option bit in the non-volatile memory of the controller. The option bits that are enabled can be viewed via DataID 112, "Software option bits". Keys are a 15 character case sensitive, mixed alphanumeric string of the form: xxxxx-xxxxx-xxxxx[,1]. The option ",1" at the end of the key is specified when you wish to turn off an option bit associated with a license key.

116

Robot types

Uint8

MAX_
ROBOT

 

 

BT

This array is used to configure how many robots are controlled by the system and to specify the geometry (kinematics) of each robot. Robots must be specified contiguously starting from the first robot. A value of 0 in this array marks the end of the robot list. Please see the Kinematics Library for a complete list of modules and their descriptions.

The currently defined robot types are as follows:

   0: Marks the end of robot list
   1: Joints only control, no robot kinematic module and Cartesian control not permitted.
   2: XYZTheta robot.
   3: XYZ Plus Extra Axis robot.  Currently used in Analytical Chemistry for an XYZ robot with a syringe operator.
   4: RPRR robot where the tool moves in a Yaw orientation.  This configuration is often used in the Semiconductor or Life Sciences industries.
   5. Single or Dual Arm RPR robot.  This is a popular configuration for Semiconductor robot.
   6: Delta robot. This is a 4-axis parallel link geometry that is very popular in the high-speed packaging industry.
   7: Encoder only module for reading encoders not associated with a motor.
   9: Enhanced XYZTheta robot.  Includes support for split-axes, motor coupling compensation and motor linearity compensation.
  10: SCARA robot.
  11: 5-Axis Take-Out robot.
  12: 4/5/6-Axis Single or Dual Yaw (PRRR) Robot. This is very similar to the RPRR robot but has the Z axis first plus some additional features.
  13: 5-Axis Tip-tilt table.
  14: 6-Axis Take-Out robot.
  15: 5/6-Axis Articulated robot.
  16: RPR No Elbow robot.
  17: 4/5-Axis Articulated robot.

117

Safety mode

Uint8

 

 

 

BT

The safety mode of this controller.

   0: Standard CAT1: Specifies that dual E-Stop circuits are used, and the overall system safety corresponds to EN 954-1 category 1 (CAT-1).  This is the standard and default operating safety mode.
   1: Live-man switch: Specifies a special mode where a single E-Stop circuit (ESTOP_L1) and a single "live-man" switch (ESTOP_L2) are used, and overall system safety corresponds to EN 954-1 category 1 (CAT-1).  If the front panel Auto/Manual mode input is set to Manual, the live-man switch must be depressed and ESTOP_L2 asserted in order for high power to remain enabled.  If the system is in Auto mode, the ESTOP_L2 state is ignored and only ESTOP_L1 is tested.
   3:  CAT1 with power switch: Specifies that dual E-Stop circuits are used, and the overall system safety corresponds to EN 954-1 category 1 (CAT-1). The E-STOP circuits are tested at system boot time. The front panel power button (or input specified by DataID 268) must transition from low to high to enable power.
   4: Enhanced CAT3 limited: Specifies that dual E-Stop circuits are used, and the overall system safety corresponds to EN 954-1 category 3 (CAT-3), except that programs may enable power. Requires FPGA with safety features.
   5: Enhanced CAT3 full: Specifies that dual E-Stop circuits are used, and the overall system safety corresponds to EN 954-1 category 3 (CAT-3). Power cannot be enabled by user programs. Requires FPGA with safety features.

118

Local servo network node

Uint8

 

 

 

RO

(Servo Network) When multiple controllers are networked together, this is the controller's servo network node number. The value 1 indicates the master controller. Values from 2 to 250 indicate a connected slave controller. If a slave controller is not yet connected, the value is 251.

119

Enable local servos

BOOL

 

 

 

BT

(Servo Network) Set to 1 if servos should run on the local controller. Set to 0 for a controller that does not contain any local servos.

By default, this value is set to 1 (local servos enabled).

120

Controller-up time in sec

Flt32

 

 

 

RO

The total number of seconds since the controller was started. Only approximate. Do not use this value for timing purposes.

121

Date and time

String

 

20

 

When read, returns the current system date and time in the string format: "mm-dd-yyyy hh:mm:ss". When written, accepts the time as a string and sets the system Real-Time Clock. You can omit the "mm-dd-yyyy" field, the "hh:mm:ss" field, or the "ss" field and the current value is assumed. If you specify "yyyy" as less than 1000, the year yyyy+2000 is assumed.

All times are local times according to the current time zone and daylight savings time settings.

In a servo network, this value cannot be changed on a slave controller since the master controller's time value governs the time on all controllers in the network.

122

Time zone and DST flag

Flt32

2

-12

12

 

An array containing the time zone value as element 1 and the daylight-savings time flag (DST) in element 2. The time zone value is the offset in hours with respect to the UTC time. For some time zones, the value may include a .5 fraction. The daylight-savings time flag is 0 for standard time, 1 for daylight-savings time. If set, 1 hour is added to the local time.

-11 Kamchatskiy, E Russia
-10 Eastern Russia, Sydney, Australia
-9.5 Mid Australia
-9 Japan
-8 China
-7 W Mongolia
-6.5 Burma
-6 Almaty (Alma ATA), Russia
-5.5 India
-5 Ural Mountains, Russia
-4.5 Afghanistan
-4 NW Caspian Sea
-3.5 Iran
-3 Moscow, Mid-East, E Africa
-2 E Europe, E Central Africa
-1 Mid Europe/Africa
0 Greenwich, England
1 SE Greenland
2 Atlantic Ocean
3 Greenland Time
3.5 Newfoundland Time
4 US Atlantic Time
5 US Eastern Standard Time
6 US Central Standard Time
7 US Mountain Standard Time
8 US Pacific Standard Time
9 Alaska Time
10 Hawaii
11 Pacific Ocean

123

Flash partition size, Kbytes

Uint16

5

 

 

RO

An array showing the size of the data partitions within the flash memory device in blocks of 1Kbyte.   The total of all partitions is equal to the  physical size of the flash. The array elements are as follows:

1 - Boot loader

2 - Reserved

3 - GPL system firmware

4 - User flash disk

5 - System data

124

DIP switch

Uint32

 

 

 

RO

The current value of the DIP switches on an MIDS board or RIO board. 0 on older boards with no DIP switch.

125

Serial console enable

BOOL

 

 

 

 

If TRUE, the GPL console is enabled on the first serial port, "/dev/com1" at system startup. When set to FALSE, the GPL console stops and the first serial port becomes available for general I/O. When set to TRUE, the GPL console is restarted on the serial port.

126

CPU temperature

Flt32

16

 

 

RO

An array indicating the temperature of the CPU in degrees Celsius for each controller in the servo network.  Element 1 is for the master node, element n is for slave node n.  The value is 0 if no temperature sensor is available for a CPU.  Normally, each CPU should not run hotter than 40 deg C above the ambient temperature and the absolute temperature reading should be 80 deg C or less.

127

Amp temperature

Flt32

12

 

 

RO

Obsolete.  Please see the "Amplifier temperature, deg C" (DataID 12605) instead.

128

Power supply type

Int8

16

 

 

 

An array containing the overrides for automatic power supply detection for each controller in a servo network. Element 1 is for the master node, element n is for slave node n. If set to value -1, the motor power supply type is detected automatically.  Check "Full hardware version" (DataID 102) for the value that was detected.  If set to >= 0, the type is manually overridden as follows:

    0 - Unknown or generic power supply
    1 - Precise 2000W single-phase supply
    2 - Precise 3500W 3-phase supply

129

Max Amp Temperature

Flt32

 

 

 

 

The controller has internal sensors to protect each amplifier power module from operating at too high a temperature.  In addition, the controller continuously samples temperature sensors and generates an error before the amplifier triggers the hard limit.  This parameter permits the controller's software amplifier temperature limit to be temporarily over-ridden until the controller is rebooted.   Normally, the built-in software limits should not be over-ridden unless you are instructed to do so by Precise.

130

Memory total, used, used segments, free, free segments, free max

Uint32

7

 

 

RO

Array containing free memory statistics, values are in bytes:

    1 - Total memory size.
    2 - Heap memory used.
    3 - Number of used segments.
    4 - Heap memory free.
    5 - Number of free segments.
    6 - Size of max free segment if available, otherwise 0.
    7 - Number of free storage failures.

131

Local slave unit

Uint8

 

 

 

BT

If this controller is configured as a servo network slave (see DataID 134), this value determines the type of communications interface used and the unit number of the local controller.

 

If this value is 0, the controller is an Ethernet slave and its local serial number should be placed in the master controllers DataID 151 array.

 

If this value is > 0, this controller is configured as an RS485 slave and the value specifies the GSB unit number. In this case, the master controller DataID 151 array should continue the name “GSB_n” where “n” is this DataID 131 value.

 

For example, if this DataID 131 is set to 5, this controller becomes known as “GSB_5” on the RS485 network.

132

FPGA info, date, time

String

3

 

 

RO

An array of strings that describe the controller FPGA program. The array elements are as follows:

    1 - The FPGA description, including compatibility code and options.
    2 - The FPGA build date, in the form yyyy/mm/dd.
    3 - The FPGA build time, in the form hh:mm:ss.

133

System clock tick

Uint16

 

 

 

RO

The low 16 bits of the 8KHz system clock value. Rolls over every 2^16 counts. This value determines the servo and trajectory generator phase.

134

Slave mode

BOOL

 

 

 

BT

Set to 1 to specify that the current controller is a slave in the Servo Network. Set to 0 for a normal master controller. See also DataID 131 to indicate the slave interface type. The controller must be rebooted after this value is changed.

135

Controller power on hours

Flt64

 

 

 

RO

The cumulative number of hours that GPL has executed on the controller. Quantized to 1 minute. Saved in NVRAM. Always reads 0 if the optional NVRAM device is not present.

136

Robot power on hours

Flt64

 

 

 

RO

The cumulative number of hours that robot motor power had been enabled. Quantized to 1 minute. Saved in NVRAM. Always reads 0 if the optional NVRAM device is not present.

137

User flash sub partitions, Kbytes

Uint16

7

 

 

 

Array that defines the sizes of all optional user flash disk sub-partitions. The standard base main partition is “/flash”. Element 1 of this array defines the first optional sub-partition, device "/flash2". Element 2 defines device "/flash3" etc., up to element 7 for "/flash8". Each element specifies the size of a flash partition, in Kbytes (1K =1024 bytes). Each element must be a 0 or a multiple of 128. The main partition "/flash" contains all bytes remaining after the sub-partitions are allocated. The main partition must be at least 128. After changing any partition, you must issue a "format" Console command for all non-zero partitions, which will erase all data in the user /flash area. By default, all elements are 0, indicating no sub-partitions.

142

Severe error power off mode

Int8

 

 

 

 

When a severe servo error occurs, in most cases, GPL immediately disables the amplifier for the axis that generated the error and subsequently turns off power to all motors and sets all brakes. The timing for disabling the motor power and setting the brakes is controlled by the value of this parameter as follows:

     0 - Turn brakes on and motor power off immediately.
     1 - Turn brakes on immediately but delay turning off the motor power until the motion has stopped or the hardware ESTOP timer (specified by "E-Stop delay in sec" (DataID 267)) expires.
     2 - Turn off motor power immediately but delay turning brakes on until the motion has stopped,
     3 - Delay turning on brakes and turning off motor power until the motion has stopped or the hardware ESTOP timer expires.

Value 0 is recommended for motor power supplies that include power-dump circuits that are designed to provide dynamically braking, e.g. PrecisePower 2000.

Value 1 is recommended for power supplies that do not include power-dump circuits that dynamically brake, e.g. the PrecisePower 300, 500 and 1000 and 3rd party low voltage power supplies including those systems that include the Precise Dump Board (which does not provide dynamic braking).  This setting is also highly recommended for robot's with axes that are subject to gravity loading (e.g. Z-axes), especially those with incremental encoders. If an incremental encoder experiences a quadrature error, the motor commutation angle is lost and the motor's amplifier is immediately disabled.  In this case, setting the brakes immediately will minimize the axes falling due to gravity.

By default, this value is set to 1.

151

Servo network node identifier

String

16

 

 

BT

 (Servo Network) 

An array of strings containing the serial number or keyword for controllers in a multiple controller servo network. If all values except the first are blank in the master controller, no servo network operations are performed.

 

On the master controller, the first element is read-only and shows the value of the master controller serial number.

 

The second and subsequent values must be filled in with the serial numbers or key word of any slave controllers (nodes 2 through n). The position of a serial number or keyword within this array determines the remote node number.

 

Each non-blank element indicates a slave controller that must be present on the network for proper servo network operation.

 

The master controller must have DataID 134 “Slave Mode” set to 0 to indicate it is operating as a master controller.

 

Ethernet Slaves

If a node is an Ethernet-based slave controller, the corresponding element in this parameter array on the master must contain the serial number of the slave controller, as shown by DataID 110 on the slave.

 

Each of these types of slave controllers must have DataID 134 set to 1 or True to indicate that they are to operate as slave controllers and DataID 131 set to 0 indicating Ethernet. On Ethernet-based slave controllers, the elements of its local DataID 151 parameters, after the first, are not used.

 

RS485 Slaves

Guidance Slave Controllers connected to the RS485 port are specified by the keyword "GSB_n", “SFT_n” or “GIO_n” in this parameter array, where n indicates the unit number of the slave node.

 

For GSB and GIO boards, the unit number is determined by jumpers on that board. For GPL controllers, the unit number is specified by the DataID 131 “Local slave unit” value.

152

Servo network node IP address

String

16

 

 

RO

(Ethernet Servo Network) An array of strings showing the IP addresses of nodes in the servo network. These values are filled in automatically as the network protocol starts.

The first element shows the IP address of the master controller (node 1). The remaining elements show the IP addresses of connected slave controllers (nodes 2 through n).

Only the master controller shows the IP address values of the slaves.

153

Servo network node property flags

Uint8

16

 

 

RO

(Servo Network) An array of bit flags that indicate properties of nodes on the servo network.

The first element corresponds to the master controller (node 1). The remaining elements correspond to the slave controllers (nodes 2 through n).

The bit mask values are shown in hexadecimal below:

    &H01 - If set, the node has its parameters defined locally and does not have a remote Parameter Database interface.  If clear, the node has a standard distributed Parameter Database interface and its parameters come from the master controller.  This bit is 0 by default.
    &H02 - If set, the node supports general digital outputs.
    &H04 - If set, the node supports general digital inputs.

Other property flags are reserved and should be set to 0.

154

Servo network node state

Uint32

16

 

 

RO

(Servo Network) An array of numeric codes that indicate the state of each node in the servo network. These state codes change as the nodes are connected and initialized.

The first element corresponds to the master controller (node 1). The remaining elements correspond to the slave controllers (nodes 2 through n).

      0 - The node is not defined. The corresponding "Network node serial number" (DataID 151) value is blank.
      1 - The node is defined, but not seen on the network.
      2 - The node has been seen by the master.
      3 - The node is ready for initialization.
      4 - The node is sending board-level parameter definitions.
      5 - The node has completed board-level definitions.
     10 - The node is sending robot 1 definitions.
     11 - The node has completed sending robot 1 definitions.
     20 - The node is sending robot 2 definitions, if any.
     21 - The node has completed sending robot 2 definitions.
       :     
   150 - The node is sending robot 15 definitions, if any.
   151 - The node has completed sending robot 15 definitions.
   240 - All definitions have been sent to the master and all parameter data has been sent to the node.
   241 - The node is ready for servos to start.
   242 - The servos are starting.
   243 - The servos are running.
   244 - The node is offline. If it comes back online the state will change to 243.

This DataID is only valid on the master node.

155

Servo network node properties

String

16

 

 

RO

(Servo Network) An array of string values that contain the property keywords for the nodes on the servo network. Within each array element, the property keywords are separated by semicolon ";".

The first string element corresponds to the master controller (node 1). The remaining elements correspond to the slave controllers (nodes 2 through n).

The property keywords are as follows:

    LDB            Node has a local database.
    DI              Node supports digital inputs.
    DO             Node supports digital outputs
    CC=code     Protocol compatibility code
    MN=name    Node manufacturer's name
    VR=version  Node software version code

156

Servo network enabled

BOOL

 

 

 

 

 (Ethernet Servo Network) Set to 1 to enable sending setpoint and position information between the master and slave controllers via the Servo Network. Set to 0 to disable this synchronous communications. If the Ethernet cable is disconnected then reconnected and the network does not automatically recover, toggle this value to 0 and back to 1 to restart communications. During normal operations, this value does not have to be altered and can be set to 1 even if the Servo Network is not in use. By default this value is set to 1.

160

Servo network statistics

Uint32

13

 

 

RO

 (Serial Servo Network) An array of numeric values containing statistics for the RS485-based servo network.

     1 - Number of synchronous packets received.
     2 - Number of synchronous packets sent.
     3 - Number of asynchronous packets received.
     4 - Number of asynchronous packets sent.
     5 - Number of unexpected bytes received.
     6 - Number of received packets with an invalid format.
     7 - Number of received packets that were too long.
     8 - Number of received packets with invalid checksums.
     9 - Number of packets dropped because no receive buffers available.
    10 - Number of packets dropped because no send buffers available.
    11 - Number of asynchronous packets retransmitted.
    12 - Number of timeouts receiving synchronous packets.
    13 - Number of timeouts sending synchronous packets.

14 - Number of serial port input bytes dropped

15 - Number of serial port output bytes dropped

161

Servo network address map

Uint8

16

 

 

RO

 (Serial Servo Network) An array of numeric values that illustrates the GSB and GIO boards that are connected to and successfully communicating with the master controller.  The GSB and GIO unit numbers are displayed as unit number+1.  For example, GSB_1 is displayed as 2.  The array is indexed by the node number.  Element 1 is always 0.

170

Robot configuration protection password

String

32

 

 

 

A String value that enables, disables, and modifies the encryption (protection) of the robot configuration file (robotxx.pac/ppc).  Only one robot file may be protected at any time.

The value displayed is "[No Password]" if no password is set and no configuration file is protected.  Else, "[Robot n Password]" is displayed if a password is set for robot n and its configuration file is protected.

To modify the current protection state, a value must be written to this DataID.  The value should be of the form:

    [PASSWORD]=new_password {/old_password}{:n}

where:

    new_password is the new password string to be set, or empty for no password. The password may not contain blanks, "/", or ":" and is case sensitive.
    old_password is the existing password to be changed, if any.
    n is a number from 1 to 12 that indicates which robot should be protected. If omitted, 1 is assumed.

For example:

    "[PASSWORD]=test" -- sets the robot 1 password to "test", assuming there is no existing password.
    "[PASSWORD]=/test" -- clears the password "test" and leaves all robots unprotected.
    "[PASSWORD]=abc/test:2" -- changes the existing password "test" to "abc" and protects robot 2.